Same-Origin Policy
SOP
同一生成元ポリシー
Browserの仕様として持っているので、反するものは自動的に拒否される
SOPが存在しない場合にどういう問題が生じるか
SOPがあるとどうなるか
XSとSはCross Originの関係にあるので、手順3でXS内からXHR経由でSへ(simple) requestを送っているが、そのresponseを読むことができない https://gyazo.com/743d9839cdb6ee9340dc04cdf4f2576c
これを可能にするためには、CORSを利用する必要がある 簡単に言うと、S側が「XSも許可しますよ」というのを明示する必要がある
このPolicyは、以下のような脆弱性を防ぐためにある
ただし、Same Origin内では防げない
例えば、任意のHTMLタグを使用できるSNSがあれば、攻撃者Xは、被攻撃者Aの投稿を操作できる
というか、XSSはSOPの上で攻撃するモノを指す(?)から、
「SOPはXSSを防ぐためにある」はおかしいかもしれない
寧ろ、「XSSはSOPがあっても攻撃するためにある」に近い気もする
サーバー側で発行時に指定可能
デフォルトではhttp, httpsの両方で共有される
これらはなぜこのPolicyに則っていないのか?
ブラウザ上のJSから、外部のserver Aにreq送るのを防ぐだけで、
ブラウザ上のJS → 攻撃者のserver X →外部のserver A
のように送るのは防げないので、セキュリティ対策としてかなりヘボくない #?? 参考